<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    var obj={
      a:10,
      b:20,
      c:{
        a:10
      }
    }
    // 引用类型值传递时，传递的时地址 比较时比较的也是地址
    // var obj2 = obj;
    // obj2.a = 50;
    // console.log(obj)
    // 克隆  重新开辟堆内存 存储 引用类型数据
    // 浅克隆  克隆第一层
    // 重新复制会重新开辟空间
    // 1利用es6 展开运算符 ...
    /* var obj3 = {
      ...obj
    }
    obj3.a=100;
    console.log(obj)
    obj3.c.a=100;
    console.log(obj) */
    /* 
    es6对象扩展
    Object.assign(对象1,对象2.....)
    合并对象 返回一个新的对象
     */
    /*  var obj4 = Object.assign({},obj);
     console.log(obj4)
     obj4.a=100
     console.log(obj)
     obj4.c.a=100;
     console.log(obj) */

    //  深克隆  递归 或者 JSON.parse(JSON.stringify(obj))
    var obj5 = JSON.parse(JSON.stringify(obj))
   
  </script>
</body>
</html>